moddbfandomcom-20200213-history
Getting Started Guide
Introduction It seems there are a lot of new people looking to get into game development on GDWiki nowadays. Some of them have a programming background but many do not. If you're an absolute beginner it can be tough. What compiler should I use? How do I make (insert game name here)? What's the best programming language? How do I get started? Although some people may give you straight answers to those questions, the truth is there is no single answer. Like many issues in life there are a lot of paths you can take to get to where you want to go. Hopefully this article will give you a better hint on what you can do to become a game programmer. Let me start by answering the common questions posted above. What is the best programming language? The answer to this question is that no programming language is the best. All of them have some trade-offs, to learn more about which one is right for you check out this page: Languages. Many choose C++ as their main programming language, however try to be open and consider as many languages as possible. The optimal solution is of course to learn many languages and apply them in the cases where they are appropriate. Every language has pros and cons. See Also: Picking a Language How do I make (insert game name here)? Most of the games on the market today are made by professionals with a large team of programmers. If you're looking to make the next big MMO or FPS, you should probably rethink. Although it may look simple at first to create such games, it requires massive experience and an even more massive teams. There is a reason why professional game development teams are so large. Start simple, venture from the console and make very basic text games to get a grip of your language. What compiler should I use? This depends on the language that you have chosen. Languages like Java, Python and C#/VB.NET/Boo give very little choice or only one option. Do some research, ask around on a certain language. How do I get started? This is a vague question and like I said earlier there is not one single solution. I can give you hints that will help you however. # Learn a certain language, and don't just jump into making a graphical game yet. Get a good book, follow online tutorials and learn the syntax. Find out how to perform common actions: reading/writing files, printing things to the console, generating random numbers, and so on. Ideally, find a language specific "Getting Started"-guide. # When you've grasped the foundation, tackle a simple text based game. Might seem boring at first, but it's very educative. You will gain at least a minimal glimpse at the structure of a complete program, even if it's small. Attempt to make tic-tac-toe, guess a number, or some simple Tamagotchi game. # After that, you can start fiddling with graphics. The difficulty of this greatly depends on the language and techniques you're using. BASIC-style languages tend to have pre-made commands for 2D drawing, whilst many other languages lack graphical capability without the use of various libraries. # Try to create a simple graphical game. Pong, Tetris and Space Invaders tend to be common choices. I would take is to make a simple full fledged 2D game. If you're lucky, you can find a tutorial on the subject. # Many do not want to use three dimensions, but if that's what you're aiming for, you can progress onto this when you feel comfortable with the basics and 2D graphics. Starting out with a pre-made engine is recommended, as the math behind 3D sometimes is very daunting for the beginner. Conclusion Please know that this process takes a long time to learn. It's not something you can just jump into and learn everything there is to know in a few weeks, months or even years. Expect to spend at least a few years learning the basics. If you don't feel this committed to learning game programming then you might want to try something else in the game related field like art or story design, not to say that these are easy but you might be better in those fields naturally. Good luck in your steps to learning game programming.